home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dsbtrd.z / dsbtrd
Encoding:
Text File  |  2002-10-03  |  5.0 KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSBBBBTTTTRRRRDDDD((((3333SSSS))))                                                          DDDDSSSSBBBBTTTTRRRRDDDD((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSBTRD - reduce a real symmetric band matrix A to symmetric tridiagonal
  10.      form T by an orthogonal similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DSBTRD( VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO
  14.                         )
  15.  
  16.          CHARACTER      UPLO, VECT
  17.  
  18.          INTEGER        INFO, KD, LDAB, LDQ, N
  19.  
  20.          DOUBLE         PRECISION AB( LDAB, * ), D( * ), E( * ), Q( LDQ, * ),
  21.                         WORK( * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      DSBTRD reduces a real symmetric band matrix A to symmetric tridiagonal
  38.      form T by an orthogonal similarity transformation: Q**T * A * Q = T.
  39.  
  40.  
  41. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  42.      VECT    (input) CHARACTER*1
  43.              = 'N':  do not form Q;
  44.              = 'V':  form Q;
  45.              = 'U':  update a matrix X, by forming X*Q.
  46.  
  47.      UPLO    (input) CHARACTER*1
  48.              = 'U':  Upper triangle of A is stored;
  49.              = 'L':  Lower triangle of A is stored.
  50.  
  51.      N       (input) INTEGER
  52.              The order of the matrix A.  N >= 0.
  53.  
  54.      KD      (input) INTEGER
  55.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  56.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSBBBBTTTTRRRRDDDD((((3333SSSS))))                                                          DDDDSSSSBBBBTTTTRRRRDDDD((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      AB      (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
  75.              On entry, the upper or lower triangle of the symmetric band
  76.              matrix A, stored in the first KD+1 rows of the array.  The j-th
  77.              column of A is stored in the j-th column of the array AB as
  78.              follows:  if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
  79.              kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  80.              j<=i<=min(n,j+kd).  On exit, the diagonal elements of AB are
  81.              overwritten by the diagonal elements of the tridiagonal matrix T;
  82.              if KD > 0, the elements on the first superdiagonal (if UPLO =
  83.              'U') or the first subdiagonal (if UPLO = 'L') are overwritten by
  84.              the off-diagonal elements of T; the rest of AB is overwritten by
  85.              values generated during the reduction.
  86.  
  87.      LDAB    (input) INTEGER
  88.              The leading dimension of the array AB.  LDAB >= KD+1.
  89.  
  90.      D       (output) DOUBLE PRECISION array, dimension (N)
  91.              The diagonal elements of the tridiagonal matrix T.
  92.  
  93.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  94.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  95.              T(i,i+1) if UPLO = 'U'; E(i) = T(i+1,i) if UPLO = 'L'.
  96.  
  97.      Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
  98.              On entry, if VECT = 'U', then Q must contain an N-by-N matrix X;
  99.              if VECT = 'N' or 'V', then Q need not be set.
  100.  
  101.              On exit:  if VECT = 'V', Q contains the N-by-N orthogonal matrix
  102.              Q; if VECT = 'U', Q contains the product X*Q; if VECT = 'N', the
  103.              array Q is not referenced.
  104.  
  105.      LDQ     (input) INTEGER
  106.              The leading dimension of the array Q.  LDQ >= 1, and LDQ >= N if
  107.              VECT = 'V' or 'U'.
  108.  
  109.      WORK    (workspace) DOUBLE PRECISION array, dimension (N)
  110.  
  111.      INFO    (output) INTEGER
  112.              = 0:  successful exit
  113.              < 0:  if INFO = -i, the i-th argument had an illegal value
  114.  
  115. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  116.      Modified by Linda Kaufman, Bell Labs.
  117.  
  118.  
  119. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  120.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  121.  
  122.      This man page is available only online.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.